﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://collab.com/2010/10" elementFormDefault="qualified" targetNamespace="http://collab.com/2010/10" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/CollabServiceLibrary.Entities" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="CreateFault">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Fault">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CreateFault" nillable="true" type="tns:CreateFault" />
  <xs:complexType name="Fault">
    <xs:sequence>
      <xs:element minOccurs="0" name="FaultMessage" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Fault" nillable="true" type="tns:Fault" />
  <xs:complexType name="ArgumentNullFault">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Fault">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ArgumentNullFault" nillable="true" type="tns:ArgumentNullFault" />
  <xs:complexType name="User">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:BaseUser">
        <xs:sequence>
          <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/CollabServiceLibrary.Entities" minOccurs="0" name="AccepptContacts" nillable="true" type="q1:ArrayOfContact" />
          <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/CollabServiceLibrary.Entities" minOccurs="0" name="Contacts" nillable="true" type="q2:ArrayOfContact" />
          <xs:element minOccurs="0" name="Groups" nillable="true" type="tns:ArrayOfGroup" />
          <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/CollabServiceLibrary.Entities" minOccurs="0" name="RequestContacts" nillable="true" type="q3:ArrayOfContact" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="BaseUser">
    <xs:sequence>
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" type="ser:guid" />
      <xs:element minOccurs="0" name="UserName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BaseUser" nillable="true" type="tns:BaseUser" />
  <xs:complexType name="ArrayOfGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Group" nillable="true" type="tns:Group" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGroup" nillable="true" type="tns:ArrayOfGroup" />
  <xs:complexType name="Group">
    <xs:sequence>
      <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/CollabServiceLibrary.Entities" minOccurs="0" name="Creator" nillable="true" type="q4:Contact" />
      <xs:element minOccurs="0" name="GroupID" type="ser:guid" />
      <xs:element minOccurs="0" name="GroupName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MemberCount" type="xs:int" />
      <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/CollabServiceLibrary.Entities" minOccurs="0" name="Users" nillable="true" type="q5:ArrayOfContact" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Group" nillable="true" type="tns:Group" />
  <xs:complexType name="ArgumentFault">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Fault">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ArgumentFault" nillable="true" type="tns:ArgumentFault" />
  <xs:complexType name="GroupInvite">
    <xs:sequence>
      <xs:element minOccurs="0" name="CreateDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Creator" nillable="true" type="tns:User" />
      <xs:element minOccurs="0" name="Group" nillable="true" type="tns:Group" />
      <xs:element minOccurs="0" name="ID" type="ser:guid" />
      <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/CollabServiceLibrary.Entities" minOccurs="0" name="InvitedUser" nillable="true" type="q6:Contact" />
      <xs:element minOccurs="0" name="IsDeclined" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GroupInvite" nillable="true" type="tns:GroupInvite" />
  <xs:complexType name="ArrayOfOnlineStatus">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OnlineStatus" nillable="true" type="tns:OnlineStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOnlineStatus" nillable="true" type="tns:ArrayOfOnlineStatus" />
  <xs:complexType name="OnlineStatus">
    <xs:sequence>
      <xs:element minOccurs="0" name="IP" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Port" type="xs:int" />
      <xs:element minOccurs="0" name="StatusId" type="ser:guid" />
      <xs:element minOccurs="0" name="Timestamp" type="xs:dateTime" />
      <xs:element minOccurs="0" name="UserId" type="ser:guid" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OnlineStatus" nillable="true" type="tns:OnlineStatus" />
</xs:schema>